﻿using MediatR;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;

namespace S.Archives.Api.Application.Command
{
    /// <summary>
    /// 修改羊只档案
    /// </summary>
    public class SheepFileUpdateCommand : IRequest<bool>
    {
        /// <summary>
        /// 羊只档案主键
        /// </summary>
        [Key]
        public int SheepFileId { get; set; }
        /// <summary>
        /// 可视耳号
        /// </summary>
        /// 
        [StringLength(16)]
        public string? EarTag { get; set; }

        /// <summary>
        /// 父耳号
        /// </summary>
        /// 
        [StringLength(16)]
        public string? ParentEarTag { get; set; }
        /// <summary>
        /// 母耳号
        /// </summary>
        /// 
        [StringLength(16)]
        public string? MotherEarTag { get; set; }
        /// <summary>
        /// 品种
        /// </summary>
        /// 

        public int? Variety { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        /// 

        public int? Sex { get; set; }
        /// <summary>
        /// 出生日期
        /// </summary>
        /// 

        public DateTime? BirthDate { get; set; }
        /// <summary>
        /// 出生状态
        /// </summary>
        /// 

        public int? BirthState { get; set; }
        /// <summary>
        /// 入场日期
        /// </summary>
        /// 

        public DateTime? AdmissionDate { get; set; }
        /// <summary>
        /// 出生场地
        /// </summary>
        /// 
        [StringLength(20)]
        public string? BirthPlace { get; set; }
        /// <summary>
        /// 出生重
        /// </summary>
        /// 
        [Column(TypeName = ("decimal(18,2)"))]
        public decimal? BirthWeight { get; set; }
        /// <summary>
        /// 基因等级
        /// </summary>
        /// 

        public int? GeneRank { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        /// 
        [StringLength(50)]
        public string? Remarks { get; set; }

        /// <summary>
        /// 繁殖状态
        /// </summary>
        /// 

        public int? ReproductiveState { get; set; }

        /// <summary>
        /// 在场状态
        /// </summary>
        /// 

        public int? PresenceState { get; set; }


        /// <summary>
        /// 是否死亡
        /// </summary>
        /// 

        public bool? IsPassAway { get; set; }
        /// <summary>
        /// 是否淘汰
        /// </summary>
        /// 

        public bool? IsElimination { get; set; }
        /// <summary>
        /// 档案类型(1-种公档案,2-种母档案,3-后裔档案)
        /// </summary>
        /// 

        public int? FileType { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        /// 
        [StringLength(30)]
        public string? CreateBy { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        /// 

        public DateTime? CreateDate { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        /// 
        [StringLength(30)]
        public string? UpdateBy { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        /// 

        public DateTime? UpdateDate { get; set; }

    }
}
